import type { PageVO } from "../page-type";

export type ShippingVO = {
    guid: string;
    orderNumber: string;
    poNumber: string;
    /**
     * 采购主体编码
     */
    purchaseCompanyCode: string;
    /**
     * 采购主体名称
     */
    purchaseCompany: string;
    contactor: string;
    telephone: string;
    address: string;
    /**
     * 物流公司编码
     */
    logisticsCompanyCode: string;
    /**
     * 物流公司名称
     */
    logisticsCompany: string;
    /**
     * 物流编号
     */
    logisticsNumber: string;
    /**
     * 出货日期
     */
    shippingDate: string;
    shippingMaterials: ShippingMaterialVO[]
}

export type ShippingMaterialVO = {
    materialCode: string;
    material: string;
    count: number;
    sn: string;
}

export type ShippingDTO = {
    guid: string;
    /**
     * 系统订单号
     */
    orderNumber: string;
    /**
     * PO订单号
     */
    poNumber: string;
    /**
     * 采购主体id
     */
    purchaseCompanyCode: string;
    /**
     * 采购主体
     */
    purchaseCompany: string;
    /**
     * 联系人
     */
    contactor: string;
    /**
     * 联系人电话
     */
    telephone: string;
    /**
     * 联系地址
     */
    address: string;
    /**
     * 物流公司ID
     */
    logisticsCompanyCode: string;
    /**
     * 物流公司
     */
    logisticsCompany: string;
    /**
     * 物流编号
     */
    logisticsNumber: string;
    /**
     * 出货日期
     */
    shippingDate: string;
    cuser: string;
    ctime: string;
    cuserId: string;
}
export type ShippingMaterialDTO = {
    guid: string;
    /**
    *
    */
    orderId: string;
    /**
     *
     */
    materialCode: string;
    /**
     *
     */
    material: string;
    /**
     * 物料名称
     */
    count: number;
    /**
     * 产品sn
     */
    sn: string;
}
export type ShippingDetailDTO = {
    shipping: ShippingDTO
    shippingMaterials: ShippingMaterialDTO[]
}
/**
 * 检索发货VO
 */
export type QueryShippingVO = {
    orderNumber: string;
    poNumber: string;
    contactor: string;
    telephone: string;
    address: string;
    logisticsNumber: string;
    sn: string;
    materialCode: string;
    purchaseCompanyCode: string;
    shippingDateStart: string;
    shippingDateEnd: string;
    createTimeStart: string;
    createTimeEnd: string;
} & PageVO;

export type PageShippingDTO = {
    guid: string;
    orderNumber: string;
    poNumber: string;
    purchaseCompanyCode: string;
    purchaseCompany: string;
    contactor: string;
    telephone: string;
    address: string;
    logisticsCompanyCode: string;
    logisticsCompany: string;
    logisticsNumber: string;
    shippingDate: string;
    ctime: string;
    cuser: string;
    materialCount: number;
}